function OnAttacked( data )
	local hCaster = data.caster
	local ability = data.ability
	local level = ability:GetLevel()
	local cd = ability:GetCooldown(level)
	local duration = data.duration
	if hCaster:GetHealth()<10 then
		hCaster:RemoveModifierByName("modifier_creep_reborn")
		ability:StartCooldown(cd)
		hCaster:AddNewModifier(nil, nil, "modifier_stunned",{duration=duration})
		hCaster:AddNoDraw()
		hCaster:AddAbility("dota_ability_dummy")
		hCaster:SetHealth(hCaster:GetMaxHealth())
	else
		return 
	end


	hCaster.pts = ParticleManager:CreateParticle("aaa",
		PATTACH_CUSTOMORIGIN,hCaster)
	ParticleManager:SetParticleControl(hCaster,0,hCaster:GetAbsOrigin())


	hCaster.StartTime = math.floor(GameRules:GetGameTime())
	hCaster:SetContextThink("reborn",
		function ()
			if math.floor(GameRules:GetGameTime())>=hCaster.StartTime+duration then
				hCaster:RemoveNoDraw()
				ParticleManager:DestroyParticle(hCaster.pts,false )
				hCaster:RemoveAbility("dota_ability_dummy")
				return nil
			else
				return 1
			end
		end,duration)
	hCaster:SetContextThink("cooldown", 
		function ()
			if math.floor(GameRules:GetGameTime())>=hCaster.StartTime+cd then
				hCaster:ApplyDataDrivenModifier(hCaster, hCaster, "modifier_creep_reborn", {})
				return nil
			else
				return 1
			end
		end,cd)
end